package utility;

import java.util.ArrayList;


public class DebugUtility {

    private static DebugUtility instance;
    private final ArrayList<String> debugList;

    private DebugUtility() {
        debugList = new ArrayList<>();
    }

    public static DebugUtility getInstance() {
        if (instance == null) {
            instance = new DebugUtility();
        }
        return instance;
    }

    /**
     * Metoden bruges til at udskrive debug beskeder. Der vil blie udskrevet klassenavn, 
     * debugtype samt en debugbesked
     * @param object Bør blot kaldes med en 'this'-reference.
     * @param debugType Beskriver hvilken type debug-besked man udskriver. 
     *                  INFORMS, ADVARER
     * @param debugMsg 
     */
    public void soutDebugLine(Object object, int debugType, String debugMsg) {
        String debugTypeStr = "";
        debugList.add(debugMsg);
        if (debugType == 1) {
            debugTypeStr = "informs";
        }
        System.out.println(object.getClass().getName() + " | " +debugTypeStr+" | "+debugMsg);

    }
}
